個人CodeBase紀錄 - EP.1 先來加入類別庫 真酷


Posted by Mike.Lin on 2023-08-07

在較大型方案中,將參考或是擴充方法拉至單獨一個專案,不僅方便維護,若有其他新專案,也可以較快速的搬移來共用。
此code base會較著墨於共用方法,因此從建類別庫來開啟這個系列,酷!


以下就流程簡單介紹:

首先,先在方案內新增類別庫專案

選擇加入類別庫專案

架構選定.NET Standard 2.0

先來寫個簡單的打招呼程式

using System;
using System.Runtime.CompilerServices;

namespace LibraryAddTest
{
    public static class Hello
    {
        /// <summary>
        /// 跟someone打招呼
        /// </summary>
        /// <returns></returns>
        public static string SayHiToSomeOne()
        {
            return "Hi, Someone!";
        }
        /// <summary>
        /// 跟指定人打招呼
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public static string SayHiToName(this string name)
        {
            return $"Hi, {name}!";
        }
    }
}

設定專案的相依性

建置類別庫專案後,即可在其餘專案做引用

using LibraryAddTest;

var name = "Engineer Mike";
var sayHiToSomeOne = name.SayHiToName();
Console.WriteLine(name);

結果


到這邊其實主要的類別庫已經完成,但為了懶出極限在其他方案更快速的套用,我們可以將類別庫打包成nuget,並發佈到NuGet.org,如下:

於類別庫專案右鍵點擊套件做打包,預設路徑為專案下方的bin資料夾

下載用於發布的工具 - NuGet Package Explorer ,選擇本地的nuget package file

選取後畫面,左側可以看到此nuget的詳情

點擊左上 Edit > Edit Metadata 可以調整此nuget的詳細資訊,包含作者資訊,專案的repo位置,icon圖檔等

點擊左上 File > Publish 來發佈

輸入publish key來推送,若無私有nuget server,可以使用共有的 nuget server 來生成 API Keys

推送成功後,即可在 nuget.org 找到已推送的套件


結語

擴充方法跟套件打包,目的都是為了減少開發日常中重複性的工作,也因此在設計套件上,必須考慮泛用性,接下來的幾篇,我會從我個人最耗時或最常用的方法優先撰寫,酷拉!


#nuget.org #ASP.NET #NuGet Package Explorer







Related Posts

CoderBridge 設定Disqus留言板

CoderBridge 設定Disqus留言板

【隨堂筆記】Python 程式概論

【隨堂筆記】Python 程式概論

.Net MVC authorization Controller and Workcontext extension in razor view

.Net MVC authorization Controller and Workcontext extension in razor view


Comments